<?php

/**
 * Description of IMapper
 *
 * Copyright (c) 2011 Tomáš Holub (tomas.holub@webadvice.cz)
 * 
 * @author Tomáš Holub (tomas.holub@webadvice.cz)
 * @package OverFishCMS
 */

namespace OverFish\Model;

use Nette;

interface IMapper {

    /** uložit entitu, sám si rozhodne, jestli aktualizuje, nebo ukládá novou */
    function save($entity);

    /** najít entitu s ID */
    function find($id);

    /** předáš tomu pole hodnot, podle kterých má hledat. Vrátí entity co odpovídají */
    function findBy(array $values);

    /** předáš tomu pole hodnot, podle kterých má hledat. Vrátí jednu entitu */
    function findOneBy(array $values);

    /** vrátí všechno */
    function findAll();
}

